package net.nagaseyasuhito.nicola.service;

import java.util.List;

import net.nagaseyasuhito.nicola.entity.User;
import net.nagaseyasuhito.nicola.service.impl.UserServiceImpl;

import com.google.inject.ImplementedBy;

@ImplementedBy(UserServiceImpl.class)
public interface UserService {
	public User findById(Long id);
	public User findByName(String name);
	public User findByNameAndPassword(String mailAddress, String password);
	public List<User> findFriendsByUser(User user, int firstResult, int maxResults);
	public List<User> findFansByUser(User user, int firstResult, int maxResults);
	public boolean contains(User user, User targetUser);

	public void signUp(User user);
	public void follow(User user, User followUser);
	public void unfollow(User user, User unfollowUser);
}
